Haptic effects with proximity sensing

ABSTRACT

A method of generating haptic effects on a device includes detecting the presence of an object near an input area of the device and generating a haptic effect on the device in response to the presence detection.

RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Patent Application No. 60/828,195, filed Oct. 4, 2006.

FIELD OF THE INVENTION

One embodiment of the present invention is directed to a haptic feedback system. More particularly, one embodiment of the present invention is directed to a haptic feedback system that utilizes proximity sensing.

BACKGROUND INFORMATION

Electronic device manufacturers strive to produce a rich interface for users. Conventional devices use visual and auditory cues to provide feedback to a user. In some interface devices, kinesthetic feedback (such as active and resistive force feedback) and/or tactile feedback (such as vibration, texture, and heat) is also provided to the user, more generally known collectively as “haptic feedback.” Haptic feedback can provide cues that enhance and simplify the user interface. Specifically, vibration effects, or vibrotactile haptic effects, may be useful in providing cues to users of electronic devices to alert the user to specific events, or provide realistic feedback to create greater sensory immersion within a simulated or virtual environment.

Haptic feedback has also been increasingly incorporated in portable electronic devices, such as cellular telephones, personal digital assistants (PDAs), portable gaming devices, and a variety of other portable electronic devices. For example, some portable gaming applications are capable of vibrating in a manner similar to control devices (e.g., joysticks, etc.) used with larger-scale gaming systems that are configured to provide haptic feedback. Additionally, devices such as cellular telephones and PDAs are capable of providing various alerts to users by way of vibrations. For example, a cellular telephone can alert a user to an incoming telephone call by vibrating. Similarly, a PDA can alert a user to a scheduled calendar item or provide a user with a reminder for a “to do” list item or calendar appointment.

Increasingly, portable devices are moving away from physical buttons in favor of touchscreen-only interfaces. This shift allows increased flexibility, reduced parts count, and reduced dependence on failure-prone mechanical buttons and is in line with emerging trends in product design. When using the touchscreen input device, a mechanical confirmation on button press or other user interface action can be simulated with haptics.

For portable devices, cost is an important driving factor. Therefore, to generate haptic effects a single low cost actuator is generally used, for example an eccentric rotating mass (“ERM”) motor or an electromagnetic motor. These actuators are able to produce strong magnitude haptic outputs. However, they also require a certain amount of time to achieve their peak haptic output (e.g., approximately 50 ms). These actuators are also used to provide feedback to the user when operating a touch sensitive input of a touchscreen device. For example when the user presses a button on a touchscreen a haptic effect is output to give the sensation of pressing a mechanical button. It is desired to output the haptic effect at the same time the user has selected the button in the interface. However, due to the time it takes to have actuator reach a desired magnitude, the haptic effect lags behind the button press event. If this lag becomes too long the user will not perceive the button press and the haptic effect as a single event.

Based on the foregoing, there is a need for an improved system and method for generating haptic effects for a touchscreen.

SUMMARY OF THE INVENTION

One embodiment is a method of generating haptic effects on a device. The method includes detecting the presence of an object near an input area of the device and generating a haptic effect on the device in response to the presence detection.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a cellular telephone in accordance with one embodiment.

FIG. 2 is a flow diagram of the functionality performed by a telephone when generating haptic effects in response to the proximity of a user to a touchscreen in accordance with one embodiment.

FIG. 3 is a flow diagram of the functionality performed by the telephone when generating haptic effects in response to the proximity of a user to the touchscreen in accordance with one embodiment.

DETAILED DESCRIPTION

One embodiment is a portable device that includes a haptic feedback system with proximity sensing. The haptic system initiates the haptic feedback before a user actually touches a touchscreen or other input area based on the proximity information.

FIG. 1 is a block diagram of a cellular telephone 10 in accordance with one embodiment. Telephone 10 includes a screen 11 and an input area, touchscreen 13, that includes “keys” and can include other types of user interfaces, including menus, etc. In another embodiment, the keys of telephone 10 can be mechanical type keys. Internal to telephone 10 is a haptic feedback system that generates vibrations on telephone 10. In one embodiment, the vibrations are generated on the entire telephone 10. In other embodiments, specific portions of telephone 10 can be haptically enabled by the haptic feedback system, including the entire touchscreen 13 or individual keys of touchscreen 13.

The haptic feedback system includes a processor 12. Coupled to processor 12 is a memory 20 and an actuator drive circuit 16, which is coupled to a vibration actuator 18. Although the embodiment of FIG. 1 is a cellular telephone, embodiments can be implemented with any type of handset or mobile/portable device, or any device that uses an actuator to generate vibrations. For example, other embodiments may not include touchscreens but are haptic devices with other types of input areas. Other input areas besides touchscreens may be a mini-joystick, scroll wheel, d-Pad, keyboard, touch sensitive surface, etc. As with a cellular telephone, for these devices there is a desire for a haptic effect to be generated on the input area and/or the entire device.

Processor 12 may be any type of general purpose processor, or could be a processor specifically designed to provide haptic effects, such as an application-specific integrated circuit (“ASIC”). Processor 12 may be the same processor that operates the entire telephone 10, or may be a separate processor. Processor 12 can decide what haptic effects are to be played and the order in which the effects are played based on high level parameters. In general, the high level parameters that define a particular haptic effect include magnitude, frequency and duration. Low level parameters such as streaming motor commands could also be used to determine a particular haptic effect.

Processor 12 outputs the control signals to drive circuit 16 which includes electronic components and circuitry used to supply actuator 18 with the required electrical current and voltage to cause the desired haptic effects. Actuator 18 is a haptic device that generates a vibration on telephone 10. Actuator 18 can include one or more force applying mechanisms which are capable of applying a vibrotactile force to a user of telephone 10 (e.g., via the housing of telephone 10). Memory device 20 can be any type of storage device, such as random access memory (“RAM”) or read-only memory (“ROM”). Memory 20 stores instructions executed by processor 12. Memory 20 may also be located internal to processor 12, or any combination of internal and external memory.

A proximity sensor 14 is coupled to processor 12. Proximity sensor 14 detects when a finger (or stylus) is in close proximity to but not in contact with touchscreen 13. Proximity sensor 14 may also detect location (e.g., x, y, z), direction, speed and acceleration, orientation (e.g., roll, pitch, yaw), etc. of the finger relative to touchscreen 13. Proximity sensor 14 provides its information as an input to processor 12 when a finger is placed above touchscreen 13. This input can be used by processor 12 when generating haptic feedback for telephone 10.

Proximity sensor 14 may use any technology that allows the proximity of a finger or other object to touchscreen 13 to be sensed. For example, it may be based on sensing technologies including capacitive, electric field, inductive, hall effect, reed, eddy current, magneto resistive, optical shadow, optical visual light, optical IR, optical color recognition, ultrasonic, acoustic emission, radar, heat, sonar, conductive or resistive and the like.

In one embodiment, proximity sensor 14 includes one or more proximity sensors that each generate a sensing field above touchscreen 13 and that produce signals when an object disturbs or intercepts the sensing field(s). Each sensing field typically generates its own signals when disturbed. In one embodiment, a single sensing field is used to cover the entire touchscreen 13 surface. In another embodiment, a single sensing field only covers a portion of the touchscreen 13 surface. In another embodiment, multiple sensing fields are used to cover the entire touchscreen 13 surface. Any number of sensing fields may be used. In some cases, in order to perform tracking, the sensing fields may even be distributed as a pixelated array of nodes.

FIG. 2 is a flow diagram of the functionality performed by telephone 10 when generating haptic effects in response to the proximity of a user to touchscreen 13 in accordance with one embodiment. In one embodiment, the functionality of FIG. 2 is implemented by software stored in memory and executed by a processor. In other embodiments, the functionality can be performed by hardware, or any combination of hardware and software.

At 102, proximity sensor 14 senses the presence of a finger, stylus, or other object above or in some other manner near touchscreen 13 or other input area of telephone 10.

At 104, proximity sensor 14 determines the position, speed and/or acceleration of the finger relative to the surface of touchscreen 13. This enables processor 12 to determine whether the user's finger will actually contact touchscreen 13. For example, if the proximity signal is increasing at a certain rate, it is highly likely that the user will contact touchscreen 13 and press a button.

At 106, based on the determination at 104, processor 12 can calculate when the finger is expected to contact touchscreen 13. In anticipation of this contact, processor 12 initiates the haptic effect before the actual contact, thus avoiding the lag time caused by actuator 18. Processor 12 may use the acceleration of the finger and the starting time required by actuator 18 to determine how far in advance to initiate the haptic effect and energize actuator 18. Therefore, the haptic effect will be implemented at approximately the exact time that the finger actually contacts touchscreen 13 and result in better synchrony of the haptic effect with the button press event. In another embodiment, processor 12 may initiate the haptic effect upon sensing the mere presence of the finger at 102.

In typical use of cell phones or PDA's, the user generally holds the device in one hand and uses the other hand to interact with the user interface such as touchscreen 13. For handheld haptic devices with proximity sensing this means that the user can sense the haptic feedback with the hand holding the device even though the finger has not yet touched the surface. Therefore, useful haptic effects can be created as a function of the proximity even when a finger never touches touchscreen 13.

In one embodiment, if a user is hovering a finger over the touchscreen and moving over a grid of displayed buttons, a first haptic effect can be played when the user is moving from over one button to over the next button. The first haptic effect can be a short soft haptic effect in order to simulate the feel of moving over the edge of one button to the next. This first haptic effect will give the user an indication of the button locations without the user activating the buttons. A second haptic effect can be played when the user actually touches the screen and acts to select the button. The second haptic effect can be a strong haptic effect simulating a sharp button click.

FIG. 3 is a flow diagram of the functionality performed by telephone 10 when generating haptic effects in response to the proximity of a user to touchscreen 13 in accordance with one embodiment. In one embodiment, the functionality of FIG. 3 is implemented by software stored in memory and executed by a processor. In other embodiments, the functionality can be performed by hardware, or any combination of hardware and software.

At 202, proximity sensor 14 senses the presence and position of a finger, stylus, or other object above or in some other manner near touchscreen 13. The sensed position may include the x and y coordinates of the finger relative to touchscreen 13.

At 204, the functionality on the touchscreen is determined based on position of the finger. For example, if a multiple button graphical user interface on touchscreen 13 is displayed, the closest button that the finger is above and the functionality of that button is determined.

At 206, processor 12 initiates a haptic effect based the functionality and location of finger. Depending on the functionality on the touchscreen, a different haptic effect may be generated by processor 12. Because the finger does not actually touch touchscreen 13 in this embodiment, the haptic effect is felt by the other hand that is holding telephone 10.

In one embodiment, haptic effects can be applied to various menu navigation steps. For a user holding a hand held haptic enabled device, the haptics can be directed to the housing such that the user's hand holding the device will experience the haptic effect. For example, when using a touchscreen, if the user hovers over a top level menu choice and a sub-menu exists for that choice, then a light haptic effect simulating a soft button click (first haptic effect) can be played as the graphics display the preview sub-menu items. If there is no sub-menu attached to that particular menu item (or no valid choices exist) then a second haptic effect can be generated, for example a buzz created by series of pulses. If the user then selects the top level menu item, a strong haptic effect simulating a sharp button click (third haptic effect) can be played. If the user decides to move to another top-level menu a fourth haptic effect can be played when entering the new menu. The fourth haptic effect can be the same as the first haptic effect if it is a similar menu item. These haptic effects, resulting while a user finger is still hovering over a surface, i.e., before contract has been made, would be directed to the other hand that is holding the haptic device.

In one embodiment, different haptic effects can be applied depending on the intended use of the touchscreen area. For example, when a user's finger is hovering over a touch screen integrated into a cell phone or PDA, different haptic effects can be produced in the cell phone when in a map/GPS navigation mode than when managing climate control or when entering hand written notes.

In one embodiment, during typical operation of a cell phone, the user can have many different proximity relationships to the device. For example the cell phone could be in the user's hand, in the user's pocket, or right next to the user's face. These different operating conditions required different levels of haptic feedback to the user. A proximity sensor could be used to detect these different operating conditions. It is also possible to detect these user conditions through the use of acceleration and/or orientation measurements. Once the current operating condition of the device is known, for example holding the phone next to an ear, a global haptic volume adjustment could be made for the different operating states. In one example, the user could have a specific vibration pattern set for a reminder event. If the user has the phone attached to a belt clip the vibration pattern could contain strong haptic effects in order to signal the reminder event. If the user is actually using the phone and has the phone pressed up next to the user's face where the user will be more sensitive to the haptic effects, when the reminder event is triggered, it would be useful to have the haptic magnitude reduced for that event.

In one embodiment, gestures can be recognized such as a virtual jog dial. A jog dial recognizes rotation and when performed above a proximity active surface can be recognized without the surface being touched. A movement in the x, y and/or z direction can also be recognized. As an example, haptic effects can be attached to the use of the virtual jog wheel. A first haptic effect can be played at regular intervals of the jog wheel to give the user an indication and confirmation of progress in moving the wheel. A second haptic effect can be output when the user reaches the end of a list that the jog wheel is controlling. These jog and/or x, y, z motions can be recognized even when performed with proximity sensing, over a mechanical alpha/numeric keypad such as which exists on most cell phones today.

Several embodiments disclosed are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention. 

1. A method of generating haptic effects on a device, said method comprising: detecting the presence of an object near an input area of the device and not in contact with the device; calculating an approximate contact time when the object will contact the input area; and initiating a haptic effect on the device in response to the presence detection; wherein the initiating comprises energizing an actuator that has a delay time to reach a peak haptic output, and wherein the energizing occurs at a time in advance of the approximate contact time so that the delay time has elapsed by the approximate contact time; wherein the haptic effect is generated on the device by the approximate contact time when the object contacts the input area.
 2. The method of claim 1, wherein the calculating comprises determining at least one of a position, speed, or acceleration of the object relative to the input area.
 3. The method of claim 1, wherein said haptic effect comprises generating a vibration on the input area.
 4. The method of claim 1, wherein said device comprises a housing and said haptic effect comprises generating a vibration on the housing.
 5. The method of claim 1, wherein said device is a cellular telephone.
 6. The method of claim 1, wherein said input area is a touch sensitive surface.
 7. The method of claim 1, further comprising: determining a position of the object relative to the input area; and determining a functionality on the input area based on the position; wherein said generating the haptic effect comprises selecting a first type of the haptic effect based on the functionality.
 8. The method of claim 7, wherein said generating the haptic effect comprises selecting a second type of the haptic effect based on the functionality, wherein said second type is different than said first type.
 9. A haptically enabled device comprising: an input area; a proximity sensor coupled to said input area; and a haptic feedback system coupled to said input area; wherein said proximity sensor is adapted to detect the presence of an object near the input area but not touching the input area, and the haptic feedback system is adapted to calculate an approximate contact time when the object will contact the input area and initiate a haptic effect before the object touches the input area; wherein the initiating comprises energizing an actuator that has a delay time to reach a peak haptic output, and wherein the energizing occurs at a time in advance of the approximate contact time so that the delay time has elapsed by the approximate contact time; wherein the haptic effect is output on the device by the approximate contact time when the object contacts the input area.
 10. The device of claim 9, wherein the calculating comprises determining at least one of a position, speed, or acceleration of the object relative to the input area.
 11. The device of claim 9, wherein said input area comprises a touch sensitive surface.
 12. The device of claim 11, wherein said touch sensitive surface is a touchscreen.
 13. A computer readable medium having instructions stored thereon that, when executed by a processor, cause the processor to generate haptic effects on a device, said processor: detecting the presence of an object near an input area of the device and not touching the input area; determining an approximate contact time when the object will contact the input area; and initiating a haptic effect on the device in response to the presence detection; wherein the initiating comprises energizing an actuator that has a delay time to reach a peak haptic output, and wherein the energizing occurs at a time in advance of the approximate contact time so that the delay time has elapsed by the approximate contact time; wherein the haptic effect is generated on the device by the approximate contact time when the object contacts the input area.
 14. The computer readable medium of claim 13, wherein the determining comprises determining at least one of a position, speed, or acceleration of the object relative to the input area.
 15. The computer readable medium of claim 13, wherein said device comprises a housing and said haptic effect comprises generating a vibration on the housing.
 16. The computer readable medium of claim 13, wherein said device is a cellular telephone.
 17. The computer readable medium of claim 13, wherein said input area is a touch sensitive surface.
 18. The computer readable medium of claim 13, said processor further: determining a position of the object relative to the input area; and determining a functionality on the input area based on the position; wherein said generating the haptic effect comprises selecting a first type of the haptic effect based on the functionality.
 19. The computer readable medium of claim 18, wherein said generating the haptic effect comprises selecting a second type of the haptic effect based on the functionality, wherein said second type is different than said first type.
 20. A haptically enabled device comprising: means for detecting the presence of an object near an input area of the device, wherein the object is not touching the input area; means for determining an approximate contact time when the object will contact the input area; and means for initiating a haptic effect on the device in response to the presence detection, wherein the initiating comprises energizing an actuator that has a delay time to reach a peak haptic output, and wherein the energizing occurs at a time in advance of the approximate contact time so that the delay time has elapsed by the approximate contact time; wherein the haptic effect is generated on the device by the approximate contact time when the object contacts the input area. 